clear
%oad ../parameter_sandbox_ces/eq_mit_mass.mat 
x = load('../free_entry_labor_homo_firm/eq_mit_entry.mat');
%load ../prod/calibration_v3/sandbox_ces/eq_mit_mass.mat
eq_mit_ces = x.eq_mit;

%load ../parameter_sandbox_wage_rule/eq_mit_mass.mat 
y = load('../free_entry/eq_mit_entry.mat');
%load ../prod/calibration_v3/sandbox/eq_mit_mass.mat
eq_mit = y.eq_mit;
glob   = y.glob;
options = y.options;

sigmaCES = y.mom.mu_cw/(y.mom.mu_cw-1);

%% get actual data - mass of firms

%Ns = [1, 1 - .04];% + [0.0000000 -0.7654149 -4.1384743 -5.6245749 -6.4591448 -5.1005793 -4.2323999]/100;
Ns =  1 - [7.13]/100;

prods = repmat(exp(glob.sf(:,2)), 1, options.T);

%% pick scaling coefficients
Labor       =  eq_mit.l;
total_labor =  sum(eq_mit.mu.*Labor);

adj = sum(eq_mit.mu,1);
scx = pick_scale(adj, Ns);

mass = sum(eq_mit.mu,1);
Ns = log_linear_scale(mass, scx)/mass(end);
Ns = Ns(1:50);

adj_ces = sum(eq_mit_ces.mu,1);

scx_ces = pick_scale(adj_ces, Ns);
%scx_ces = [0 -diff(Ns-1)]/scx;
mass = sum(eq_mit.mu,1);
LOV = mass.^(1/(sigmaCES-1));
LOV = log_linear_scale(LOV, scx)/LOV(end);


%% compute cost-weighted markups
ngdp = sum(eq_mit.mu.*eq_mit.p.*eq_mit.y);
labor_bill = eq_mit.W'.*sum(eq_mit.l.*eq_mit.mu);
labor_share = (labor_bill./ngdp);

ngdp = sum(eq_mit_ces.mu.*eq_mit_ces.p.*eq_mit_ces.y);
labor_bill = eq_mit_ces.W'.*sum(eq_mit_ces.l.*eq_mit_ces.mu);
labor_share_ces = (labor_bill./ngdp);


%%
set(0,'defaultaxesfontname','cambria math') % beautify the axes a bit
set(0,'defaultTextFontName', 'cambria math')


close all

T = 15;
subplot(2,3,1)
mass = sum(eq_mit.mu,1);
plot(log_linear_scale_plot(mass, scx), 'LineWidth', 4); xlim([1 T]); title('Mass of producers')
ytickformat('percentage')

hold on
mass_ces = sum(eq_mit_ces.mu,1);
plot(log_linear_scale_plot(mass_ces, scx_ces), 'r-.', 'LineWidth', 4);
yline(0, '--')

%plot(Ns, 'LineWidth', 4)
legend('Baseline', 'No Lifecycle', 'Location', 'Southeast')

subplot(2,3,5)
plot(log_linear_scale_plot(eq_mit.C, scx), 'LineWidth', 4); xlim([1 T]);  title('Output')
hold on
plot(log_linear_scale_plot(eq_mit_ces.C, scx_ces), 'r-.', 'LineWidth', 4); xlim([1 T]);  title('Output')
ytickformat('percentage')
yline(0, '--')

subplot(2,3,6)
plot(log_linear_scale_plot(eq_mit.W, scx), 'LineWidth', 4); xlim([1 T]);  title('Wage')
hold on
plot(log_linear_scale_plot(eq_mit_ces.W, scx_ces),  'r-.', 'LineWidth', 4)
ytickformat('percentage')
yline(0, '--')

subplot(2,3,4)
plot(log_linear_scale_plot(eq_mit.L, scx), 'LineWidth', 4); xlim([1 T]); title('Employment')
hold on
plot(log_linear_scale_plot(eq_mit_ces.L, scx_ces), 'r-.', 'LineWidth', 4); xlim([1 T]); title('Employment')
ytickformat('percentage')
yline(0, '--')

labor_share = 1./labor_share;
labor_share_ces = 1./labor_share_ces;

 subplot(2,3,2)
 plot((log_linear_scale_plot(labor_share, scx)), 'LineWidth', 4); xlim([1 T]); title('Markup')
 hold on
plot((log_linear_scale_plot(labor_share_ces, scx_ces)), 'r-.', 'LineWidth', 4); xlim([1 T]); title('Markup')
ytickformat('percentage')
yline(0, '--')

subplot(2,3,3)

Ys    = repmat(eq_mit.C',glob.Nsf,1);
Z     = sum(eq_mit.y./Ys./prods.*eq_mit.mu);
tfp   = log_linear_scale(Z.^(-1), scx);

Ys    = repmat(eq_mit_ces.C',glob.Nsf,1);
Z     = sum(eq_mit_ces.y./Ys./prods.*eq_mit_ces.mu);
tfp_ces   = log_linear_scale(Z.^(-1), scx_ces);


plot(100*(tfp/tfp(end)-1), 'LineWidth', 4); xlim([1 T]);
hold on
plot(100*(tfp_ces/tfp_ces(end)-1),  'r-.', 'LineWidth', 4); 
plot(100*(LOV/LOV(end)-1), '--', 'LineWidth',4); xlim([1 T]);
xlim([1 T]);
ytickformat('percentage')
yline(0, '--')
legend('', '', 'Love-of-variety effect', '', 'Location', 'southeast')

title('Effective TFP')
set(gcf,'units','points','position',[10,10,1000,600])
set(findall(gcf,'-property','FontSize'),'FontSize',16)

print('-dpng', 'figures/role_of_lifecycle.png')



